home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / DIE-PAGE.ZIP / PAGE.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-04-09  |  3KB  |  242 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Real     REAL001
  23.     Real     REAL002
  24.     String   STRING001
  25.     String   STRING002
  26.     String   STRING003
  27.     String   STRING004
  28.     String   STRING005
  29.     String   STRING006
  30.     String   STRING007
  31.     String   STRING008
  32.     String   STRING009
  33.     String   STRING010
  34.     Time     TIME001
  35.     Time     TIME002
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     REAL002 = 5 - REAL001
  40.     FOpen 1, PPEPath() + "PAGE.cfg", 0, 0
  41.     FGet 1, STRING003
  42.     FGet 1, TIME001
  43.     FGet 1, TIME002
  44.     FGet 1, STRING006
  45.     FGet 1, STRING007
  46.     FGet 1, STRING008
  47.     FGet 1, STRING009
  48.     FGet 1, STRING010
  49.     STRING001 = "_"
  50.     If (Exist(PPEPath() + "PA.DAT")) Goto LABEL001
  51.     FCreate 2, PPEPath() + "PA.DAT", 2, 0
  52.     REAL001 = 0
  53.     FPut 2, REAL001
  54.     Goto LABEL002
  55.     :LABEL001
  56.     FOpen 2, PPEPath() + "PA.DAT", 2, 0
  57.     FGet 2, REAL001
  58.     REAL001 = REAL001 + 1
  59.     FPut 2, REAL001
  60.     :LABEL002
  61.     REAL002 = 5 - REAL001
  62.     Print Time()
  63.     If ((Time() >= TIME001) && (Time() <= TIME002)) Then
  64.         :LABEL003
  65.         Cls
  66.         If (REAL002 <= 0) Goto LABEL020
  67.         If (Exist(PPEPath() + "REASON.")) Goto LABEL004
  68.         PrintLn "@X04FILE MISSING : REASON."
  69.         Goto LABEL005
  70.         :LABEL004
  71.         DispFile PPEPath() + "REASON.", 1
  72.         :LABEL005
  73.         AnsiPos +STRING008, STRING007
  74.         Color 7
  75.         Print REAL002
  76.         AnsiPos +STRING009, STRING007
  77.         Print Time()
  78.         :LABEL006
  79.         If (FALSE) Goto LABEL009
  80.         AnsiPos 12, 5
  81.         InputStr "_", STRING002, 6, 53, Mask_Ascii(), 8192
  82.         If (Upper(STRING002) == "") Goto LABEL007
  83.         Goto LABEL019
  84.         Goto LABEL008
  85.         :LABEL007
  86.         AnsiPos 20, 20
  87.         Stop
  88.         AnsiPos 20, 20
  89.         Stop
  90.         :LABEL008
  91.         Goto LABEL006
  92.         :LABEL009
  93.         AnsiPos 1, 12
  94.         PageOn
  95.         SPrintLn " .----------------------------------------------------------------------------."
  96.         SPrintLn " ) Page Respond  ╓  Coded by flick/dimension senven...  ╓  (c)opywrite 1994-6 ("
  97.         SPrintLn " |----------------------------------------------------------------------------|"
  98.         SPrintLn " |  Press C to enter chat with the user, or press S to leave pager in silence |"
  99.         SPrintLn " `----------------------------------------------------------------------------'"
  100.         AnsiPos 4, 7
  101.         BOOLEAN001 = 0
  102.         :LABEL010
  103.         If (BOOLEAN001) Goto LABEL013
  104.         If (INTEGER001 == 10) Then
  105.             AnsiPos 20, 20
  106.             If (Exist(PPEPath() + "NOTHERE.")) Goto LABEL011
  107.             Print "Looks like the sysop is not around. "
  108.             Goto LABEL012
  109.             :LABEL011
  110.             DispFile PPEPath() + "NOTHERE.", 1
  111.             :LABEL012
  112.             Stop
  113.         Else
  114.             Print STRING010
  115.             Sound 220
  116.             Sound 100
  117.             STRING004 = KInkey()
  118.             If (Upper(STRING004) == Chr(67)) Goto LABEL013
  119.             If (Upper(STRING004) == Chr(83)) Goto LABEL014
  120.             Delay 3
  121.             Sound 0
  122.             Delay 10
  123.             INTEGER001 = INTEGER001 + 1
  124.         Endif
  125.         Goto LABEL010
  126.         :LABEL013
  127.         Call STRING003
  128.         Stop
  129.         :LABEL014
  130.         Sound 0
  131.         :LABEL015
  132.         If (FALSE) Goto LABEL019
  133.         If (INTEGER001 == 10) Then
  134.             AnsiPos 20, 20
  135.             If (Exist(PPEPath() + "NOTHERE.")) Goto LABEL016
  136.             Print "Looks like the sysop is not around. "
  137.             Goto LABEL017
  138.             :LABEL016
  139.             DispFile PPEPath() + "NOTHERE.", 1
  140.             :LABEL017
  141.             If (INTEGER002 == 10 - INTEGER001 - 1) Then
  142.                 Stop
  143.                 AnsiPos 20, 20
  144.                 Goto LABEL018
  145.             Endif
  146.             Print STRING010
  147.             STRING004 = KInkey()
  148.             If (Upper(STRING004) == Chr(67)) Goto LABEL013
  149.             Delay 10
  150.             INTEGER002 = INTEGER002 + 1
  151.         Endif
  152.         :LABEL018
  153.         Goto LABEL015
  154.         :LABEL019
  155.         REAL001 = REAL001 + 1
  156.         Goto LABEL009
  157.         :LABEL020
  158.         If (U_Sec >= 250) Then
  159.             Goto LABEL003
  160.         Endif
  161.         PrintLn "You have annoyed the sysop enough times!"
  162.         Stop
  163.     Else
  164.         Print " is outside paging hours"
  165.         Newline
  166.         InputStr "ENTER CHAT PASSWORD:_", STRING005, 7, 24, Mask_Ascii(), 8192
  167.         If (Upper(STRING005) == STRING006) Then
  168.             Goto LABEL003
  169.         Else
  170.             Stop
  171.         Endif
  172.     Endif
  173.  
  174. ;------------------------------------------------------------------------------
  175. ;
  176. ; Usage report (before postprocessing)
  177. ;
  178. ; ■ Statements used :
  179. ;
  180. ;    1       Cls
  181. ;    1       Color 
  182. ;    35      Goto 
  183. ;    11      Let 
  184. ;    8       Print 
  185. ;    2       PrintLn 
  186. ;    18      If 
  187. ;    3       DispFile 
  188. ;    1       FCreate 
  189. ;    2       FOpen 
  190. ;    9       FGet 
  191. ;    2       FPut 
  192. ;    2       InputStr 
  193. ;    3       Delay 
  194. ;    1       Newline
  195. ;    7       Stop
  196. ;    1       Call 
  197. ;    10      AnsiPos 
  198. ;    4       Sound 
  199. ;    5       SPrintLn 
  200. ;    1       PageOn
  201. ;
  202. ;
  203. ; ■ Functions used :
  204. ;
  205. ;    2       +
  206. ;    14      +
  207. ;    4       -
  208. ;    8       ==
  209. ;    2       <=
  210. ;    2       >=
  211. ;    14      !
  212. ;    1       &&
  213. ;    5       Upper()
  214. ;    3       Chr()
  215. ;    4       Time()
  216. ;    2       Mask_Ascii()
  217. ;    10      PPEPath()
  218. ;    4       Exist()
  219. ;    2       KInkey()
  220. ;
  221. ;------------------------------------------------------------------------------
  222. ;
  223. ; Analysis flags : C
  224. ;
  225. ; C - Call child PPE ■ 3
  226. ;     This is usually normal, but may be a tricky way to launch some
  227. ;     sysop-only commands.
  228. ;     ■ Search for : CALL
  229. ;
  230. ;------------------------------------------------------------------------------
  231. ;
  232. ; Postprocessing report
  233. ;
  234. ;    0       For/Next
  235. ;    0       While/EndWhile
  236. ;    6       If/Then or If/Then/Else
  237. ;    0       Select Case
  238. ;
  239. ;------------------------------------------------------------------------------
  240. ;                 AEGiS Corp - Break the routines, code against the machines!
  241. ;------------------------------------------------------------------------------
  242.